// components/blog-ctr/blog-ctr.js
import formatTime from "../../utils/formatTime.js";
const db = wx.cloud.database();
let userInfo = {};
Component({
  /**
   * 组件的属性列表
   */
  properties: {
    blogId: String,
    blog: Object
  },
  externalClasses: [
    "iconfont",
    "icon-pinglun",
    "icon-fenxiang"
  ],
  /**
   * 组件的初始数据
   */
  data: {
    loginShow: false, // 登陆组件是否显示
    modalShow: false, // 底部弹出层
    content: ""
  },

  /**
   * 组件的方法列表
   */
  methods: {
    onComment() {
      // 判断当前用户是否授权
      wx.getSetting({
        withSubscriptions: true,
        success: (res) => {
          // console.log(res);
          if (res.authSetting["scope.userInfo"]) {
            wx.getUserInfo({
              success: (res) => {
                // console.log(res);
                // return false;
                userInfo = res.userInfo;
                // 显示评论弹出层
                this.setData({
                  modalShow: true
                });
              }
            })
          }  else {
            this.setData({
              loginShow: true
            });
          }
        }
      })
    },
    onLoginSuccess(event) { // 登陆成功
    // console.log(event);
      userInfo = event.detail;
      // 授权框消失，评论框显示
      this.setData({
        loginShow: false,
      }, () => {
        this.setData({
          modalShow: true
        });
      });
    },
    onLoginFail() { // 授权失败
      wx.showModal({
        title: '授权用户才能进行评论',
        content: '',
      });
    },
    onInput(e) { // 输入评论信息时输入评论数据
      let content = e.detail.value;
      if (content.trim() == "") {
        wx.showModal({
          title: '评论的内容不能为空',
          content: '',
        });
        return;
      }
      this.setData({
        content
      });
    },
    onSend(e) { // 发布评论
      // 插入数据库
      // 当前用户评论的信息
      wx.showLoading({
        title: '评价中',
        mask: true
      });

      let content = this.data.content;
      if (content.trim() == "") {
        wx.showModal({
          title: '评论的内容不能为空',
          content: '',
        });
        return;
      }

      wx.requestSubscribeMessage({
        // 传入订阅消息的模板id，模板 id 可在小程序管理后台申请
        tmplIds: ["FW78NqwFbCW4kIEZKLEnkJoTxTLxGu0qq3i-vAf2ivo"],
        success:(res) => {
          // 申请订阅成功
          if (res.errMsg === 'requestSubscribeMessage:ok') {
            // 这里将订阅的课程信息调用云函数存入db
            db.collection("blog-comment").add({
              data: {
                nickName: userInfo.nickName,
                avatarUrl: userInfo.avatarUrl,
                blogId: this.properties.blogId,
                createTime: db.serverDate(),
                content,
              }
            }).then((res) => {
              // 推送订阅消息
              wx.cloud.callFunction({
                name: "sendMessage",
                data: {
                  content,
                  blogId: this.properties.blogId,
                  createTime: formatTime(new Date())
                }
              }).then((res) => {
                // console.log(res);
              });

              wx.hideLoading();
              wx.showToast({
                title: '评论成功',
              });
              this.setData({
                modalShow: false,
                content: ""
              });

              // 父元素刷新评论页面
              this.triggerEvent("refreshComment")

            });

          }
        },
      });



      // wx.showLoading({
      //   title: '评价中',
      //   mask: true
      // });
      // // let formId = e.detail.formId; // 7天有效期，一个formId可以推送一次
      // let content = this.data.content;
      // if (content.trim() == "") {
      //   wx.showModal({
      //     title: '评论的内容不能为空',
      //     content: '',
      //   });
      //   return;
      // }

      // db.collection("blog-comment").add({
      //   data: {
      //     nickName: userInfo.nickName,
      //     avatarUrl: userInfo.avatarUrl,
      //     blogId: this.properties.blogId,
      //     createTime: db.serverDate(),
      //     content,
      //   }
      // }).then((res) => {
      //   // 推送模板消息
      //   wx.cloud.callFunction({
      //     name: "sendMessage",
      //     data: {
      //       content,
      //       blogId: this.properties.blogId
      //     }
      //   }).then((res) => {
      //     console.log(res);
      //   });

      //   wx.hideLoading();
      //   wx.showToast({
      //     title: '评论成功',
      //   });
      //   this.setData({
      //     modalShow: false,
      //     content: ""
      //   });
      // });

    }
  }
})